home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / xarchie-2.0.9 / FWF / FileChooser / FChooserP.h < prev    next >
C/C++ Source or Header  |  1995-06-18  |  5KB  |  139 lines

  1. /*
  2.  * FChooserP.h : Private header file for the FileChooser widget
  3.  *
  4.  * George Ferguson, ferguson@cs.rochester.edu, 21 Jan 1993.
  5.  *
  6.  * This code is derived from the FileSelector widget by Brian Totty,
  7.  * hence the following copyright applies:
  8.  *
  9.  * Copyright 1990,1991,1992 Brian Totty
  10.  * 
  11.  * Permission to use, copy, modify, distribute, and sell this software
  12.  * and its documentation for any purpose is hereby granted without fee,
  13.  * provided that the above copyright notice appears in all copies and that
  14.  * both that copyright notice and this permission notice appear in
  15.  * supporting documentation, and that the name of Brian Totty or
  16.  * University of Illinois not be used in advertising or publicity
  17.  * pertaining to distribution of the software without specific, written
  18.  * prior permission.  Brian Totty and University of Illinois make no
  19.  * representations about the suitability of this software for any
  20.  * purpose.  It is provided "as is" without express or implied warranty.
  21.  *
  22.  * Brian Totty and University of Illinois disclaim all warranties with
  23.  * regard to this software, including all implied warranties of
  24.  * merchantability and fitness, in no event shall Brian Totty or
  25.  * University of Illinois be liable for any special, indirect or
  26.  * consequential damages or any damages whatsoever resulting from loss of
  27.  * use, data or profits, whether in an action of contract, negligence or
  28.  * other tortious action, arising out of or in connection with the use or
  29.  * performance of this software.
  30.  *
  31.  * Author:
  32.  *     Brian Totty
  33.  *     Department of Computer Science
  34.  *     University Of Illinois at Urbana-Champaign
  35.  *    1304 West Springfield Avenue
  36.  *     Urbana, IL 61801
  37.  * 
  38.  *     totty@cs.uiuc.edu
  39.  *     
  40.  */ 
  41.  
  42. #ifndef    _FCHOOSERP_H
  43. #define    _FCHOOSERP_H
  44.  
  45. #include <DirMgr.h>
  46.  
  47. #include <X11/CoreP.h>
  48. #include <X11/Core.h>
  49.  
  50. /*---------------------------------------------------------------------------*
  51.  
  52.                 C O N S T A N T S
  53.  
  54.  *---------------------------------------------------------------------------*/
  55.  
  56. #define FC_DIR_MENU_NAME    "dirMenu"
  57. #define FC_DIR_MENU_BUTTON_NAME    "dirMenuButton"
  58. #define FC_FILE_VIEWPORT_NAME    "fileViewport"
  59. #define FC_FILE_LIST_NAME    "fileList"
  60.  
  61. /*---------------------------------------------------------------------------*
  62.  
  63.       S T R U C T U R E   &   W I D G E T    A C C E S S    M A C R O S
  64.  
  65.  *---------------------------------------------------------------------------*/
  66.  
  67. #define    FCCorePart(w)        (&((w)->core))
  68. #define    FCCompositePart(w)    (&((w)->composite))
  69. #define    FCFCPart(w)        (&((w)->fileChooser))
  70.  
  71. #define    FCDirMgr(w)        (FCFCPart(w)->dir_mgr)
  72. #define    FCDirMenu(w)        (FCFCPart(w)->dir_menu)
  73. #define    FCDirMenuButton(w)    (FCFCPart(w)->dir_menu_button)
  74. #define    FCFileViewport(w)    (FCFCPart(w)->file_viewport)
  75. #define    FCFileList(w)        (FCFCPart(w)->file_list)
  76. #define    FCCurrentDirectory(w)    (FCFCPart(w)->current_dir)
  77. #define    FCCurrentFile(w)    (FCFCPart(w)->current_file)
  78. #define    FCDirNames(w)        (FCFCPart(w)->dir_names)
  79. #define    FCNumDirNames(w)    (FCFCPart(w)->num_dir_names)
  80. #define    FCFileNames(w)        (FCFCPart(w)->file_names)
  81. #define    FCNumFileNames(w)    (FCFCPart(w)->num_file_names)
  82. #define    FCBusyCursor(w)        (FCFCPart(w)->busy_cursor)
  83. #define    FCSortMode(w)        (FCFCPart(w)->sort_mode)
  84. #define    FCPattern(w)        (FCFCPart(w)->pattern)
  85.  
  86. #define CoreWidth(w)            ((w)->core.width)
  87. #define CoreHeight(w)           ((w)->core.height)
  88. #define CoreBorderWidth(w)      ((w)->core.border_width)
  89.  
  90. /*---------------------------------------------------------------------------*
  91.  
  92.            W I D G E T    S T R U C T U R E    D E F I N I T I O N
  93.  
  94.  *---------------------------------------------------------------------------*/
  95.  
  96. typedef struct
  97. {
  98.     DIRECTORY_MGR    *dir_mgr;
  99.     Widget        dir_menu;
  100.     Widget        dir_menu_button;
  101.     Widget        file_viewport;
  102.     Widget        file_list;
  103.     char        *current_dir;
  104.     char        *current_file;
  105.     char        **dir_names;
  106.     int        num_dir_names;
  107.     char        **file_names;
  108.     int        num_file_names;
  109.     XtCallbackList    callbacks;
  110.     Cursor        busy_cursor;
  111.     int        sort_mode;
  112.     char        *pattern;
  113. } XfwfFileChooserPart;
  114.  
  115. typedef struct _XfwfFileChooserClassPart
  116. {
  117.     int    empty;
  118. } XfwfFileChooserClassPart;
  119.  
  120. typedef struct _XfwfFileChooserClassRec
  121. {
  122.     CoreClassPart            core_class;
  123.     CompositeClassPart        composite_class;
  124.     XfwfFileChooserClassPart    fileChooser_class;
  125. } XfwfFileChooserClassRec;
  126.  
  127.     /* This Is What A Widget Instance Points To */
  128.  
  129. typedef struct _XfwfFileChooserRec
  130. {
  131.     CorePart        core;
  132.     CompositePart        composite;
  133.     XfwfFileChooserPart    fileChooser;
  134. } XfwfFileChooserRec;
  135.  
  136. extern XfwfFileChooserClassRec xfwfFileChooserClassRec;
  137.  
  138. #endif /* !_FCHOOSERP_H */
  139.